package cc.cix.gt.org.service;


import cc.cix.gt.common.entity.ResultPage;
import cc.cix.gt.common.entity.Tree;
import cc.cix.gt.org.dto.query.QueryDeptReq;
import cc.cix.gt.org.entity.Dept;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @author cix
 */
public interface IDeptService extends IService<Dept> {

    /**
     * 获取部门信息
     *
     * @param dto 查询对象
     * @return 部门信息
     */
    ResultPage<Tree<Dept>> listDeptTree(QueryDeptReq dto);

    /**
     * 获取部门列表
     *
     * @param dto 请求对象
     * @return 部门列表
     */
    List<Dept> listDept(QueryDeptReq dto);

    /**
     * 创建部门
     *
     * @param dept dept
     */
    void createDept(Dept dept);

    /**
     * 更新部门
     *
     * @param dept dept
     */
    void updateDept(Dept dept);

    /**
     * 删除部门
     *
     * @param deptIds 部门id数组
     */
    void deleteDeptByIds(List<String> deptIds);
}
